/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.uniandes.patrones.entidades;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author alvar-go@uniandes.edu.co
 */
public class Cliente extends Usuario{
    
    public final static String TIPO_CEDULA = "cedula de ciudadania", TIPO_CEDULA_EX = "cedula de extranjeria", TIPO_PASAPORTE = "pasaporte";
    
    private String nombre, apellido, tipoDocumento, telefono, celular, direccion, email;
    
    private Date fechaNacimiento;
    
    private List<Vehiculo> vehiculos;

    public Cliente() {
    }


    public Cliente(String login, String password, String tipo, String id, String nombre, String apellido, String tipoDocumento, String telefono, String celular, String direccion, String email, Date fechaNacimiento) {
        super(login, password, tipo, id);
        this.nombre = nombre;
        this.apellido = apellido;
        this.tipoDocumento = tipoDocumento;
        this.telefono = telefono;
        this.celular = celular;
        this.direccion = direccion;
        this.email = email;
        this.fechaNacimiento = fechaNacimiento;
        vehiculos = new ArrayList<Vehiculo>();
    }

    public List<Vehiculo> getVehiculos() {
        return vehiculos;
    }

    public void setVehiculos(List<Vehiculo> vehiculos) {
        this.vehiculos = vehiculos;
    }
    
    public List<String> darPlacas(){
        ArrayList<String> placas = new ArrayList<String>();
        for(Vehiculo v: vehiculos){
            placas.add(v.getPlaca());
        }
        return placas;
    }
    
    public Vehiculo darVehiculo(String placa){
        for(Vehiculo v:vehiculos){
            if(v.getPlaca().equals(placa)){
                return v;
            }
        }
        return null;
    }

    public String getApellido() {
        return apellido;
    }

    public String getCelular() {
        return celular;
    }

    public String getDireccion() {
        return direccion;
    }

    public String getEmail() {
        return email;
    }

    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    public String getNombre() {
        return nombre;
    }

    public String getTelefono() {
        return telefono;
    }

    public String getTipoDocumento() {
        return tipoDocumento;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public void setCelular(String celular) {
        this.celular = celular;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setTipoDocumento(String tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
}
